<?php

if (isset($_POST['empresa']) && isset($_POST['rfc']) && isset($_POST['nombre'])
        && isset($_POST['correo']) && isset($_POST['usuario']) && isset($_POST['contrasena'])) {
    include_once 'conexion.php';
    $enlace = getConeccion();
    $mensaje = "";
    mysql_query('BEGIN', $enlace);
    $exito = true;
    $sqlInsertarEmpresa = "INSERT INTO `Empresa`(`RFCEmpr`, `razonSocialEmpr`) 
        VALUES ('" . $_POST['rfc'] . "','" . $_POST['empresa'] . "')";
    $exito&=mysql_query($sqlInsertarEmpresa, $enlace);
    if (!$exito) {
        $mensaje.="El rfc ya existe<br>";
    }
    $sqlInsertarUsuario = "INSERT INTO `Usuario`(`nickUsuario`, `passUsuario`) 
        VALUES ('" . $_POST['usuario'] . "','" . $_POST['contrasena'] . "')";
    $exito&=mysql_query($sqlInsertarUsuario, $enlace);
    if (!$exito) {
        $mensaje.="El usuario ya existe<br>";
    }
    $administrador=1;
    $sqlInsertarEmpleado = "INSERT INTO `empleado`(`nombreEmpleado`, `emailEmpleado`, 
        `nickUsuario`, `idPrivilegio`) VALUES ('" . $_POST['nombre'] . "','" . $_POST['correo'] . 
            "','". $_POST['usuario'] ."',".$administrador.")";
    $exito&=mysql_query($sqlInsertarEmpleado, $enlace);
    $DEUDOR = 1;
    $ACREDOR = 2;
    $cuentasAInsertar = array(
        array('descripcion' => 'Activo',
            'codigo' => '1000000', 'tipo' => $DEUDOR), //Deudor
        array('descripcion' => 'Pasivo',
            'codigo' => '2000000', 'tipo' => $ACREDOR), //acredor
        array('descripcion' => 'Capital contable',
            'codigo' => '3000000', 'tipo' => $ACREDOR), //acredor
        array('descripcion' => 'Ingreso por servicios',
            'codigo' => '4000000', 'tipo' => $ACREDOR), //acredor
        array('descripcion' => 'Gastos de operacion',
            'codigo' => '5000000', 'tipo' => $DEUDOR), //saldo deudor
        array('descripcion' => 'Gastos de financieros',
            'codigo' => '6000000', 'tipo' => $DEUDOR)//saldoDeudor
    );

    foreach ($cuentasAInsertar as $cuenta) {
        $sqlInsertarCuenta = "INSERT INTO `cuenta`(`descripcionCuenta`, `codCuenta`, `idtipoCuenta`) VALUES 
            ('" . $cuenta['descripcion'] . "'," . $cuenta['codigo'] . ", " . $cuenta['tipo'] . ")";
        $exito&=mysql_query($sqlInsertarCuenta, $enlace);
        $ultimoId = mysql_insert_id();
        $sqlInsertarNodo="INSERT INTO `nodo`(`idCuenta`) VALUES (".$ultimoId.")";
        $exito&=mysql_query($sqlInsertarNodo, $enlace);
        $sqlInsertarUsrCuenta = "INSERT INTO `usr_administra_cuenta`(`nickUsuario`
            , `idCuenta`) VALUES ('" . $_POST['usuario'] . "'," . $ultimoId . ")";
        $exito&=mysql_query($sqlInsertarUsrCuenta, $enlace);
        $sqlInsertarDetalleCuenta = "INSERT INTO `detallecuenta`(`idCuenta`,`fechaCuenta`) VALUES (" .
                $ultimoId . ", '" . date('Y-m-d') . "')";

        $exito&=mysql_query($sqlInsertarDetalleCuenta, $enlace);
    }
    if ($exito) {
        mysql_query('COMMIT', $enlace);
        $mensaje = "Los datos han sido guardados exitosamente";
        $mensaje = '<div class="msg-success"><label>' . $mensaje . '</label></div>';
    } else {
        mysql_query('ROLLBACK', $enlace);
        if ($mensaje == "") {
            $mensaje = "Ocurio un error en al insertar los datos contacte al administrador.";
        }
        $mensaje = '<div class="msg-error"><label>' . $mensaje . '</label></div>';
    }
    echo '<html>
    <head>
        <title>Crear Usuario</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" type="text/css" href="../CSS/Formato.css" />
        <link rel="stylesheet" type="text/css" href="../CSS/FormatoForm.css" />
        <script src="../JSCRIPT/Formularios.js"></script>
        <script language="javascript">
            function validar(){
                var exito=true;
                exito&=esValidoCampo(\'empresa\');
                var esValidoRFC=esValidoCampo(\'rfc\');
                exito&=esValidoRFC;
                if (esValidoRFC){
                    exito&=validaRfc(\'rfc\');
                }
                var esValidoCorreo=esValidoCampo(\'correo\');
                exito&=esValidoCorreo;
                if(esValidoCorreo){
                   exito&= validaCorreo(\'correo\');
                }
                exito&=esValidoCampo(\'nombre\');
                exito&=esValidoCampo(\'contrasena\');
                exito&=esValidoCampo(\'usuario\');
                exito&=esValidoCampo(\'confirmarContrasena\');
                exito&=validaContraseña(\'contrasena\', \'confirmarContrasena\');
                if(exito){
                    document.formRegistro.submit();
                }
            }
            
            function validaContraseña(contraseña, otracontraseña){
                var contra=document.getElementById(contraseña);
                var compara= document.getElementById(otracontraseña);
                var labelerror= document.getElementById("error-" +compara.id);
                if(compara.value != contra.value){
                    labelerror.innerHTML="Las contraseñas deben coincidir ";
                    compara.style.backgroundColor=\'#FEE\';
                    compara.style.borderColor=\'#C00\';
                    compara.focus();
                    return false;
                }else{
                    return true;
                }
            }
            
            function validaRfc(nombreCampo){
                var campoRfc= document.getElementById(nombreCampo);
                var labelerror= document.getElementById("error-" +campoRfc.id);
                
                var valida = \'^(([A-Z]|[a-z]){4})([0-9]{6})((([A-Z]|[a-z]|[0-9]){3}))\';
                if (campoRfc.value.match(valida)) {
                    return true;
                }else{
                    labelerror.innerHTML="RFC Invalido";
                    campoRfc.style.backgroundColor=\'#FEE\';
                    campoRfc.style.borderColor=\'#C00\';
                    campoRfc.focus();
                    return false;
                }
            }
            
            function validaCorreo(nombreCampo){
                var campoCorreo= document.getElementById(nombreCampo);
                var labelerror= document.getElementById("error-" +campoCorreo.id);
                var valida= /^[a-zA-Z0-9._-]+@[a-zA-Z]+\.([a-zA-Z]{2,4})+$/;
                if (campoCorreo.value.match(valida)) {
                    return true;
                }else{
                    labelerror.innerHTML="Correo Invalido";
                    campoCorreo.style.backgroundColor=\'#FEE\';
                    campoCorreo.style.borderColor=\'#C00\';
                    campoCorreo.focus();
                    return false;
                }
            }
        </script>
    </head>
    <body>
        <div class="contenido" id="pagina">
            <div id="cabezera">
                <div id="logo">CADMIN</div>
            </div><!-- header -->
            <div class="form">
                <form method="post" action="../PHP/registroEmpresa.php" name="formRegistro">
                    <fieldset>
                        <legend>Registro de empresa</legend>
                        ';
    echo $mensaje;
    echo '<div class="row">
                            <label> Nombre de la Empresa:</label>
                        </div>
                        <div class="row"> 
                            <input type="text" name="empresa" id="empresa">
                            <strong id="error-empresa" class="error"></strong>
                        </div>
                        <div class="row">
                            <label> RFC de la Empresa:</label>
                        </div>
                        <div class="row"> 
                            <input type="text" name="rfc" id="rfc">
                            <strong id="error-rfc" class="error"></strong>
                        </div>
                        <div class="row">
                            <label> Nombre del encargado:</label>
                        </div>
                        <div class="row"> 
                            <input type="text" name="nombre" id="nombre">
                            <strong id="error-nombre" class="error"></strong>
                        </div>
                        <div class="row">
                            <label> Correo del encargado:</label>
                        </div>
                        <div class="row"> 
                            <input type="text" name="correo" id="correo">
                            <strong id="error-correo" class="error"></strong>
                        </div>
                        <div class="row">
                            <label> Nombre de Usuario:</label>
                        </div>
                        <div class="row"> 
                            <input type="text" name="usuario" id="usuario">
                            <strong id="error-usuario" class="error"></strong>
                        </div>
                        <div class="row">
                            Contraseña:
                        </div>
                        <div class="row">
                            <input type="password" name="contrasena" id="contrasena">  
                            <strong id="error-contrasena" class="error"></strong>
                        </div>
                        <div class="row">
                            Confirmar Contraseña:
                        </div>
                        <div class="row">
                            <input type="password" name="confirmarContrasena" id="confirmarContrasena" >  
                            <strong id="error-confirmarContrasena" class="error"></strong>
                        </div>
                        <div class="row">
                            <input type="button" name="crearcuenta" value="Crear Cuenta" onclick="validar();">
                            <input type="reset" name="cancelar" value="Limpiar Datos">
                        </div>
                        <div class="row">
                            <a href="../HTML/Login.html">Regresar</a>
                        </div>
                    </fieldset>
                </form>
            </div>
        </div>
    </body>
</html>
';
} else {
    header("Location: Index.php");
    die();
}
?>
